import java.util.InputMismatchException
import java.util.NoSuchElementException
import java.util.Scanner

/**
 * Kotlin
 * 管理玩家的基本信息
 * 姓名 执棋类型 选择落子位置
 *
 * 默认参数
 * fun test(a: Int = 0, b: Int){}
 * fun test2(a: Int , b: Int = 0){}
 */
class KPlayer(
    var name: String,
    var chessType: KChessType = KChessType.BLACK, //提供默认参数
) {
    fun chooseLocation():KLocation{
        return input()
    }

    fun getChess():String{
        return if (chessType == KChessType.BLACK)
            CHESS_BLACK
        else
            CHESS_WHITE
    }

    private fun input():KLocation{
        Scanner(System.`in`).also {
            while (true) {
                IOUtils.showInput()
                try {
                    val location = KLocation(it.nextInt(), it.nextInt())
                    //it.close()
                    return location
                } catch (e: Exception) {
                    IOUtils.showInputError()
                    e.printStackTrace()
                    it.nextLine()
                }
            }
        }
    }
}
